package Vue;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JToolBar;

import Controleur.Controleur;

/**
 * Cette class permet de définir et gérer la barre d'outils de l'application.
 * 
 * @author Kilian Cousein et Benjamin Tardieu
 */
public class BarreOutils extends JToolBar implements ActionListener
{
//======================================================================//
//============================ Variables ===============================//
//======================================================================//
	
	private Controleur controleur;
	
    private JButton souris = new JButton(new ImageIcon("icon/select.png"));
    private JButton ligne = new JButton(new ImageIcon("icon/ligne.png"));
    private JButton rectangle = new JButton(new ImageIcon("icon/draw-rectangle.png"));
    private JButton cercle = new JButton(new ImageIcon("icon/draw-ellipse.png"));
    private JButton polygone = new JButton(new ImageIcon("icon/draw-polygon.png"));
    private JButton texte = new JButton(new ImageIcon("icon/draw-text.png"));
    private JButton gomme = new JButton(new ImageIcon("icon/draw-eraser.png"));
    
    
//======================================================================//
//========================== Constructeurs =============================//
//======================================================================//

    /**
     * Crée une nouvelle instance de <i>BarreOutils</i>.
     *
     * @param controleur 
     */
    public BarreOutils(Controleur controleur)
    {
    	this.controleur = controleur;    	
    	this.setOrientation(JToolBar.VERTICAL);
    	
    	this.souris.setName("souris");
    	this.souris.addActionListener(this);
    	this.add(this.souris);	
    	
    	this.ligne.setName("Ligne");
    	this.ligne.addActionListener(this);
    	this.add(this.ligne);
    	
    	this.rectangle.setName("Rectangle");
    	this.rectangle.addActionListener(this);
    	this.add(this.rectangle);
    	
    	this.cercle.setName("Ellipse");
    	this.cercle.addActionListener(this);
    	this.add(this.cercle);
    	
    	this.polygone.setName("Polygone");
    	this.polygone.addActionListener(this);
    	this.add(this.polygone);
    	
    	this.gomme.setName("gomme");
    	this.gomme.addActionListener(this);
    	this.add(this.gomme);
    	
    	this.texte.setName("Texte");
    	this.texte.addActionListener(this);
    	this.add(this.texte);
	
    }

    
//======================================================================//
//====================== Méthodes Implémentées= ========================//
//======================================================================//
    
	@Override
	public void actionPerformed(ActionEvent e)
	{
		JButton bouton = (JButton) e.getSource();
		
		this.controleur.nouvelleOutils(bouton.getName());
	}
}